using System;
using System.IO;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using ClickSocial.Framework;
using ClickSocial.Components;
using ClickSocial.Entities;

namespace ClickSocial.Admin
{
    public partial class FotosEvento : CDefault
    {
        
        private string m_evento_id = "0";

        public string EventoID
        {
            get
            {
                m_evento_id = Request["EventoID"] as string ?? string.Empty;
                return m_evento_id;
            }
            set
            {
                m_evento_id = value;
            }
        }
      

        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);          
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Binding();
            }
        }

        protected void Binding()
        {
            List<FotoInfo> fotos = new List<FotoInfo>(); ;
            
            long evento_id = 0;

            if (long.TryParse(EventoID, out evento_id))
            {
                fotos = Fotos.GetFotos(evento_id);
            }
            lblnombreEvento.Text = Fotos.EventoActual.Nombre;
            lblfecha.Text = Fotos.EventoActual.Fecha.ToString("d");

            Paginador paginador = new Paginador(Request["page"], Request.Path, Request.QueryString);
            paginador.PageDS.DataSource = fotos;
            paginador.PageDS.AllowPaging = true;
            paginador.PageDS.PageSize = 6;
            litPaginador.Text = paginador.Render();

            dlFotos.DataSource = paginador.PageDS;
            dlFotos.DataBind();

        }
        protected void imgBtnComprar_Command(object sender, CommandEventArgs e)
        {
            string args = e.CommandArgument as string;
            long eventoId = 0;
            string archivo = args.Split(':')[0];
            double precio = double.Parse(args.Split(':')[1]);

            if (long.TryParse(EventoID, out eventoId))
            {
                Cart carrito = null;

                if (Session["carrito"] == null)
                {
                    carrito = new Cart();
                    carrito.Creado = DateTime.Now;
                }
                else
                {
                    carrito = Session["carrito"] as Cart;

                }

                CartItem item_cart = new CartItem(eventoId, archivo, precio, 1);

                if (carrito.CartItems.Find(
                    delegate(CartItem item)
                    {
                        return (item.Archivo == item_cart.Archivo && item.EventoID == item_cart.EventoID && item.Precio == item_cart.Precio && item.TipoCart == item_cart.TipoCart);
                    }) == null)
                {

                    carrito.CartItems.Add(item_cart);
                    carrito.UltimoIngreso = DateTime.Now;
                    Session["carrito"] = carrito;
                }

                ((Site)Master).UpdateCarrito();
            }
        }

        protected void imgBtnPedido_Command(object sender, CommandEventArgs e)
        {
            string args = e.CommandArgument as string;
            long eventoId = 0;
            string archivo = args.Split(':')[0];
            double precio = double.Parse(args.Split(':')[1]);

            if (long.TryParse(EventoID, out eventoId))
            {
                Cart carrito = null;

                if (Session["carrito"] == null)
                {
                    carrito = new Cart();
                    carrito.Creado = DateTime.Now;
                }
                else
                {
                    carrito = Session["carrito"] as Cart;

                }

                CartItem item_cart = new CartItem(eventoId, archivo, precio, 0);

                if (carrito.CartItems.Find(
                    delegate(CartItem item)
                    {
                        return (item.Archivo == item_cart.Archivo && item.EventoID == item_cart.EventoID && item.Precio == item_cart.Precio && item.TipoCart == item_cart.TipoCart);
                    }) == null)
                {

                    carrito.CartItems.Add(item_cart);
                    carrito.UltimoIngreso = DateTime.Now;
                    Session["carrito"] = carrito;
                }

                ((Site)Master).UpdateCarrito();
            }
        }

    }
}
